---
title: "Get PostGraphile Pro"
hide_table_of_contents: true
---

import clsx from "clsx";

import styles from "@site/src/css/common.module.css";
import pricingStyles from "./pricing.module.css";

## Get PostGraphile Pro

PostGraphile V4 Core is free and open-source, and is sufficient for many peoples needs.
PostGraphile Pro is a commercial plugin for PostGraphile V4 Core, with additional features which can
help your team to save development costs before deploying to production.

PostGraphile Pro is available as a perk for [Graphile sponsors](/sponsor).
**Businesses which use PostGraphile should explore [sponsorship](/sponsor) as the first option to obtain
Pro**, as sponsorship also helps to fund development and maintenance of the Graphile suite, as well
as enabling us to advance the software they rely on.

{

<p className={pricingStyles.showFull}>
  For businesses which are not capable of engaging in the sponsorship model,
  there is an option to purchase the license by itself. However, this does not
  come with any other benefit such as priority support or discounted consultancy
  rates.
</p>

}

### Feature comparison

{

<p className={pricingStyles.showMobile}>
  There are several tiers of sponsorship available; The &ldquo;Production
  Sponsor&rdquo; tier (<strong>Sponsor+</strong>) is suitable for many small and
  medium businesses while the &ldquo;Private Advisor Tier&rdquo; (
  <strong>Enterprise</strong>) gives access to a complimentary{" "}
  <a href="/support">Development Support </a> contract and discounted
  consultancy packages, perfect for enterprises and those who need bespoke
  advice and support on their project.
</p>

}

{

<p className={pricingStyles.showFull}>
  Below, we have listed the differences between PostGraphile V4 Core, purchasing
  the license by itself, and sponsoring Graphile. There are several tiers of
  sponsorship available; The &ldquo;Production Sponsor&rdquo; tier is suitable
  for many small and medium businesses with some perks such as free access to
  the database tool <a href="https://pgrita.com">pgRITA </a> and discounted
  consultancy calls. The &ldquo;Private Advisor Tier&rdquo; gives access to a
  complimentary <a href="/support">Development Support </a> contract and
  discounted consultancy packages, perfect for enterprises and those who need
  bespoke advice and support on their project.
</p>

}

{

<table className={pricingStyles.pricingTable}>
<thead>

<tr>
  <th rowspan="2"></th>
  <th>
    <Icon icon="fa-brands fa-github"/> Core
  </th>
  <th>
    <span className={styles.proTag}>
      <span className={styles.firstLetter}>p</span>
    </span>{" "}
    License Only
  </th>
  <th><span className={styles.sponTag}><span className={styles.firstLetter}>s</span></span>{" "}Production Sponsor</th>
  <th><span className={styles.sponTag}><span className={styles.firstLetter}>s</span></span>{" "}Private Advisor Tier</th>
</tr>
<tr>
  <th>
    <span className={styles.tooltipped}>
    OSS projects, not-for-profits
    <span class={styles.tooltiptext}>Also, hobbyists, pre-revenue start-ups, and any other use 
    where the Pro features are either not needed or can be re-implemented by your team</span>
    </span>
  </th>
  <th>Small businesses</th>
  <th>Small and medium businesses</th>
  <th>Access development support</th>
</tr>
</thead>

<tbody>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Instant GraphQL API
      <span class={styles.tooltiptext}>Queries and mutations</span>
    </span>
    &nbsp;and automatic CRUD mutations
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Excellent performance</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Authentication
      <span class={styles.tooltiptext}>
        via JWT or custom <code>pgSettings</code>
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    <span className={styles.tooltipped}>
      Authorization<span class={styles.tooltiptext}>RLS and RBAC</span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Relay-compatible connections</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Simple list-based relations</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Filtering &amp; Ordering</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Computed columns</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Custom queries</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Custom mutations</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Smart Comments</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Plugins</th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    {" "}
    <span className={styles.tooltipped}>
      Real-time GraphQL
      <span class={styles.tooltiptext}>
        GraphQL Subscriptions and Live Queries
      </span>
    </span>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Integrated<sup className={styles.footnote}>‡</sup> GraphQL query cost limit
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Integrated<sup className={styles.footnote}>‡</sup> limits on pagination
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Integrated<sup className={styles.footnote}>‡</sup> GraphQL query depth
    limits
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Facility to scale via read replicas</th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Free access to <a href="https://pgrita.com">pgRITA</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>
    Logo featured on <a href="https://graphile.org/sponsor">graphile.org</a>
  </th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Logo featured in project</th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-check" size="lg" />
  </td>
</tr>

<tr>
  <th>Sponsor's discount</th>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <Icon icon="fa-solid fa-circle-xmark" size="lg" />
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Discounted <a href="https://benjie.dev/book">video calls</a>
    </span>
    <span className={pricingStyles.showMobile}>
      <Icon icon="fa-solid fa-square-phone-flip" size="lg" />
    </span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Discounted consultancy packages
    </span>
    <span className={pricingStyles.showMobile}>
      <Icon icon="fa-solid fa-circle-check" size="lg" />
    </span>
  </td>
</tr>

<tr>
  <th>Support</th>
  <td>
    <span className={pricingStyles.showFull}>via community Discord</span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>via community Discord</span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    <span className={pricingStyles.showFull}>
      Priority support via community Discord
    </span>
    <span className={pricingStyles.showMobile}>Community support</span>
  </td>
  <td>
    Within your own company
    <br />
    <Icon icon="fa-brands fa-github" size="lg" />
    &nbsp;
    <Icon icon="fa-brands fa-discord" size="lg" />
    &nbsp;
    <Icon icon="fa-brands fa-slack" size="lg" />
    &nbsp;
    <Icon icon="fa-solid fa-square-phone-flip" size="lg" />
  </td>
</tr>

<tr>
  <th>License</th>
  <td>MIT</td>
  <td>Commercial</td>
  <td>Commercial</td>
  <td>Commercial</td>
</tr>

<tr>
  <th>Pricing</th>
  <td>
    <strong>
      <a href="/sponsor">Crowd-funded</a>
    </strong>
    <br />
    <span className={(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>Please give back</span>
    </span>
  </td>
  <td>
    <strong>
      <span className={clsx(styles.small, pricingStyles.showFull)}>
        <s>$100/mo</s>
      </span>{" "}
      $25<small>/mo USD +VAT</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>EUR €25/mo, GBP £20/mo</span>
    </span>
  </td>
  <td>
    <span className={styles.small}>From</span>{" "}
    <strong>
      $100<small>/mo USD</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>GitHub Sponsors or annual invoicing</span>
    </span>
  </td>
  <td>
    <span className={styles.small}>From</span>{" "}
    <strong>
      $899<small>/mo USD</small>
    </strong>
    <br />
    <span className={clsx(styles.note, pricingStyles.showFull)}>
      <span className={styles.small}>GitHub Sponsors or bespoke invoicing</span>
    </span>
  </td>
</tr>
</tbody>
  
<tfoot>

<tr>
  <th></th>
  <td></td>
  <td>
    <a
      className={clsx("button button--outline", pricingStyles.outlineButton)}
      href="https://store.graphile.com"
    >
      Buy
    </a>
  </td>
  <td>
    <a
      className={clsx("button button--primary", pricingStyles.primaryButton)}
      href="https://github.com/sponsors/benjie"
    >
      GitHub Sponsors
    </a>
  </td>
  <td>
    <a
      className={clsx("button button--outline", pricingStyles.outlineButton)}
      href="/support"
    >
      Find out more
    </a>
  </td>
</tr>

</tfoot>

</table>
}

{

<div className={styles.footnoteText}>
  <strong>
    <sup>‡</sup>
  </strong>{" "}
  These features integrate deeply with PostGraphile V4 and have been optimized
  for its nuances by the maintainer. If you wish to build and maintain
  protections yourself rather than using the Pro plugin, refer to{" "}
  <a href="/postgraphile/production/">Production Considerations</a> for
  information on how you might go about doing this.
</div>
}

### PostGraphile V4 Core and PostGraphile V5 are OSS under the MIT license

PostGraphile V4 Core is sufficient for many peoples needs; it's the only version
that existed for the first 2 years of the project and many people are running it
with great success in production. No features in PostGraphile V4 Core have been
removed or obscured, and it continues to be maintained. PostGraphile V5 is also
open source under the MIT License and continues to be advanced and enhanced.

Development and maintenance of PostGraphile V5 is ongoing, supported by
contributions from the community, [professional services](/support) contracts and
[GitHub Sponsors](/sponsor).

### PostGraphile Pro is a commercial plugin for those who wish to scale with PostGraphile V4

The Pro plugin enhances PostGraphile V4 with additional features and is loaded
through the standard [server plugin interface](/postgraphile/4/plugins).

The Pro plugin contains features that are particularly useful to businesses
wishing to scale their solution out using database read-replicas or protect the
generated GraphQL API from expensive queries which may be issued by untrusted
third parties. (Typically if the intended clients to your GraphQL API are
first-party only then you would use a GraphQL query allowlist (e.g. persisted
queries) for this purpose; although the Pro features can still be helpful to
dissuade your developers from building expensive queries!)

### Does the license cover my production cluster?

The [Pro plugin EULA](https://store.graphile.com/eulas/postgraphile-pro/) states
you may:

> use up to four Production Instances and up to 100 Development Instances of the
> Software

This is enough to cover a small cluster of 4 PostGraphile servers. If you will
be running a larger cluster than this, please
[get in touch](mailto:team@graphile.org?subject=Large%20cluster) for custom
licensing.

### How many licenses do I need to cover my multiple development/testing stages?

The [Pro plugin EULA](https://store.graphile.com/eulas/postgraphile-pro/) states
you may:

> use up to four Production Instances and up to 100 Development Instances of the
> Software

“Development Instance” is defined as “an Instance that is used to support
development, testing or deployment of a Production Instance”, which covers
standard development, staging, QA and similar environments.

If you have larger needs than this, please
[get in touch](mailto:team@graphile.org?subject=Large%20cluster) for custom
licensing.

### Where are the @graphile/pro docs/changelog?

You can read the
[@graphile/pro README on npm](https://www.npmjs.com/package/@graphile/pro).
There's also a lot more information in the
[Production Considerations](/postgraphile/production) page on this website.

### Is the fulfillment of the license key automated?

Yes, license keys are issued automatically by our store software upon completion
of the payment process. Sponsors can use their GitHub Sponsors account to log in to the store.

### Do license keys “phone home”?

No, license keys are static and contain all the necessary claims, not dissimilar
to JWTs. Our software does not “phone home.”

You are not permitted to use the software once the EULA terminates (e.g. if you
stop paying). We trust you, and want to minimize your maintenance burden, so the
automated keys expire after one year rather than one month. You will be able to
issue new keys via the store when your key is near to expiry. Please do not
abuse our trust.

### Does the Pro License come with direct support?

No. We run community support through our
[Discord Server](https://discord.gg/graphile) where anyone can ask and answer
questions about PostGraphile and the Graphile suite of tools. Sponsors receive
priority support from our maintainers within our Discord Server. Sponsors on the “Private Advisor” tier or
above can enter a complimentary Development Support contract and receive support
through their company Slack/GitHub organization. Priced at $999 a month, with no minimum term, or receive a discount
with an annual contract. More information can be found at the [Development Support page](/support)
or you can [get in contact](mailto:info@graphile.org?subject=Private%20Advisor%20tier%20question).

### I'm an enterprise user and need X, Y and Z

Please [get in touch](mailto:team@graphile.org?subject=Enterprise%20enquiry) and
we'll be happy to help!
